ObjectBox C and C++ API  4.0.3
obx::Property< EntityT, ValueT > Class Template Reference

Carries property information when used in the entity-meta ("underscore") class. More...

#include <objectbox.hpp>

Inheritance diagram for obx::Property< EntityT, ValueT >:
Inheritance graph

Public Member Functions

constexpr Property (obx_schema_id id) noexcept
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Bool>>
QCInt64 equals (bool value) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Bool>>
QCInt64 notEquals (bool value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfIntegerOrRel<T>>
QCInt64 equals (int64_t value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfIntegerOrRel<T>>
QCInt64 notEquals (int64_t value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 lessThan (int64_t value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 lessOrEq (int64_t value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 greaterThan (int64_t value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 greaterOrEq (int64_t value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 between (int64_t a, int64_t b) const
 finds objects with property value between a and b (including a and b) More...
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array in (std::vector< int32_t > &&values) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array in (const std::vector< int32_t > &values) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array notIn (std::vector< int32_t > &&values) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array notIn (const std::vector< int32_t > &values) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array in (std::vector< int64_t > &&values) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array in (const std::vector< int64_t > &values) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array notIn (std::vector< int64_t > &&values) const
 
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array notIn (const std::vector< int64_t > &values) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble lessThan (double value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble lessOrEq (double value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble greaterThan (double value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble greaterOrEq (double value) const
 
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble between (double a, double b) const
 finds objects with property value between a and b (including a and b) More...
 
- Public Member Functions inherited from obx::PropertyTypeless
constexpr PropertyTypeless (obx_schema_id id) noexcept
 
obx_schema_id id () const
 
QC isNull () const
 
QC isNotNull () const
 

Additional Inherited Members

- Protected Attributes inherited from obx::PropertyTypeless
const obx_schema_id id_
 property ID More...
 

Detailed Description

template<typename EntityT, OBXPropertyType ValueT>
class obx::Property< EntityT, ValueT >

Carries property information when used in the entity-meta ("underscore") class.

Constructor & Destructor Documentation

◆ Property()

template<typename EntityT , OBXPropertyType ValueT>
constexpr obx::Property< EntityT, ValueT >::Property ( obx_schema_id  id)
inlineexplicitconstexprnoexcept

Member Function Documentation

◆ between() [1/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble obx::Property< EntityT, ValueT >::between ( double  a,
double  b 
) const
inline

finds objects with property value between a and b (including a and b)

◆ between() [2/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 obx::Property< EntityT, ValueT >::between ( int64_t  a,
int64_t  b 
) const
inline

finds objects with property value between a and b (including a and b)

◆ equals() [1/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Bool>>
QCInt64 obx::Property< EntityT, ValueT >::equals ( bool  value) const
inline

◆ equals() [2/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfIntegerOrRel<T>>
QCInt64 obx::Property< EntityT, ValueT >::equals ( int64_t  value) const
inline

◆ greaterOrEq() [1/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble obx::Property< EntityT, ValueT >::greaterOrEq ( double  value) const
inline

◆ greaterOrEq() [2/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 obx::Property< EntityT, ValueT >::greaterOrEq ( int64_t  value) const
inline

◆ greaterThan() [1/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble obx::Property< EntityT, ValueT >::greaterThan ( double  value) const
inline

◆ greaterThan() [2/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 obx::Property< EntityT, ValueT >::greaterThan ( int64_t  value) const
inline

◆ in() [1/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array obx::Property< EntityT, ValueT >::in ( const std::vector< int32_t > &  values) const
inline

◆ in() [2/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array obx::Property< EntityT, ValueT >::in ( const std::vector< int64_t > &  values) const
inline

◆ in() [3/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array obx::Property< EntityT, ValueT >::in ( std::vector< int32_t > &&  values) const
inline

◆ in() [4/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array obx::Property< EntityT, ValueT >::in ( std::vector< int64_t > &&  values) const
inline

◆ lessOrEq() [1/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble obx::Property< EntityT, ValueT >::lessOrEq ( double  value) const
inline

◆ lessOrEq() [2/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 obx::Property< EntityT, ValueT >::lessOrEq ( int64_t  value) const
inline

◆ lessThan() [1/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfFloating<T>>
QCDouble obx::Property< EntityT, ValueT >::lessThan ( double  value) const
inline

◆ lessThan() [2/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfInteger<T>>
QCInt64 obx::Property< EntityT, ValueT >::lessThan ( int64_t  value) const
inline

◆ notEquals() [1/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Bool>>
QCInt64 obx::Property< EntityT, ValueT >::notEquals ( bool  value) const
inline

◆ notEquals() [2/2]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = EnableIfIntegerOrRel<T>>
QCInt64 obx::Property< EntityT, ValueT >::notEquals ( int64_t  value) const
inline

◆ notIn() [1/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array obx::Property< EntityT, ValueT >::notIn ( const std::vector< int32_t > &  values) const
inline

◆ notIn() [2/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array obx::Property< EntityT, ValueT >::notIn ( const std::vector< int64_t > &  values) const
inline

◆ notIn() [3/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Int>>
QCInt32Array obx::Property< EntityT, ValueT >::notIn ( std::vector< int32_t > &&  values) const
inline

◆ notIn() [4/4]

template<typename EntityT , OBXPropertyType ValueT>
template<OBXPropertyType T = ValueT, typename = enable_if_t<T == OBXPropertyType_Long || T == OBXPropertyType_Relation>>
QCInt64Array obx::Property< EntityT, ValueT >::notIn ( std::vector< int64_t > &&  values) const
inline