var searchData=
[
  ['ignite',['Ignite',['../classignite_1_1Ignite.html#a200628ace06d6a5240f0e881e5f696ba',1,'ignite::Ignite::Ignite()'],['../classignite_1_1Ignite.html#a4caf21b9a15391ddc58bff2e02e94822',1,'ignite::Ignite::Ignite(impl::IgniteImpl *impl)']]],
  ['ignitebinding',['IgniteBinding',['../classignite_1_1IgniteBinding.html#a48a001ba64f79f5fa164114e29ea968a',1,'ignite::IgniteBinding::IgniteBinding()'],['../classignite_1_1IgniteBinding.html#afafd6de3294259ec46ccf0c9655e74dc',1,'ignite::IgniteBinding::IgniteBinding(common::concurrent::SharedPointer&lt; impl::IgniteBindingImpl &gt; impl)']]],
  ['igniteclient',['IgniteClient',['../classignite_1_1thin_1_1IgniteClient.html#a340b55483d03ddd8e4e293934052bcf8',1,'ignite::thin::IgniteClient']]],
  ['igniteclientconfiguration',['IgniteClientConfiguration',['../classignite_1_1thin_1_1IgniteClientConfiguration.html#a65fedd44769a44fa94d68f15fb9168ce',1,'ignite::thin::IgniteClientConfiguration']]],
  ['igniteconfiguration',['IgniteConfiguration',['../structignite_1_1IgniteConfiguration.html#a82ea4ba2075eef3747b73fa0d50963be',1,'ignite::IgniteConfiguration']]],
  ['igniteerror',['IgniteError',['../classignite_1_1IgniteError.html#a5f74f9d23f35ebc78f46f038e210f7a6',1,'ignite::IgniteError::IgniteError()'],['../classignite_1_1IgniteError.html#a51a584c2fcc9629a6ac781e314d55543',1,'ignite::IgniteError::IgniteError(const int32_t code)'],['../classignite_1_1IgniteError.html#a12214b83d49bca28d314700fd6b2836e',1,'ignite::IgniteError::IgniteError(const int32_t code, const char *msg)'],['../classignite_1_1IgniteError.html#a46dabf9e8f8b38d0f6adbe1f78fe8247',1,'ignite::IgniteError::IgniteError(const IgniteError &amp;other)']]],
  ['invoke',['Invoke',['../classignite_1_1cache_1_1Cache.html#ad3d816384f6ecc3f6f5b0b298e08a338',1,'ignite::cache::Cache::Invoke(const K &amp;key, const P &amp;processor, const A &amp;arg)'],['../classignite_1_1cache_1_1Cache.html#a6646c6a21a8c17aabf2ad936ae4a7ec0',1,'ignite::cache::Cache::Invoke(const K &amp;key, const P &amp;processor, const A &amp;arg, IgniteError &amp;err)']]],
  ['isactive',['IsActive',['../classignite_1_1Ignite.html#a5455dd6d8f8453073fbd32c60fe0c3af',1,'ignite::Ignite']]],
  ['isdistributedjoins',['IsDistributedJoins',['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a87ce4576992dad0a4e15e2a48d51e881',1,'ignite::cache::query::SqlQuery::IsDistributedJoins()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#aa96b0d0a5bbf75ee6bf3dae56744b1ba',1,'ignite::cache::query::SqlFieldsQuery::IsDistributedJoins()']]],
  ['isempty',['IsEmpty',['../classignite_1_1cache_1_1Cache.html#a60db60b4b35fbaf00e542c76b1927707',1,'ignite::cache::Cache::IsEmpty()'],['../classignite_1_1cache_1_1Cache.html#aac2e29657a3ad0f8be0c82db1d6dd78f',1,'ignite::cache::Cache::IsEmpty(IgniteError &amp;err)']]],
  ['isenforcejoinorder',['IsEnforceJoinOrder',['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#a9d2625642f34ce67031b6ed2e42ce588',1,'ignite::cache::query::SqlFieldsQuery']]],
  ['isexists',['IsExists',['../classignite_1_1cache_1_1MutableCacheEntry.html#ac264e37bc8005d8e7a28d0ef1b748d23',1,'ignite::cache::MutableCacheEntry']]],
  ['islazy',['IsLazy',['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#ab8a459de1e74910e2c41ffe829ff0f61',1,'ignite::cache::query::SqlFieldsQuery']]],
  ['islocal',['IsLocal',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#a66bc6ad3e2329ce592de9a210026dfa6',1,'ignite::cache::query::ScanQuery::IsLocal()'],['../classignite_1_1cache_1_1query_1_1SqlQuery.html#ad0e00541ef3e200bbde603079cf29d8d',1,'ignite::cache::query::SqlQuery::IsLocal()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#aebcede6ce3f0a822976c0553eb10d9a9',1,'ignite::cache::query::SqlFieldsQuery::IsLocal()'],['../classignite_1_1cache_1_1query_1_1TextQuery.html#a6faa7404432c342e96a7d95dc036d738',1,'ignite::cache::query::TextQuery::IsLocal()']]],
  ['isnull',['IsNull',['../classignite_1_1binary_1_1BinaryStringArrayReader.html#a8c0f31a71c339297b2e6ace86f20526c',1,'ignite::binary::BinaryStringArrayReader::IsNull()'],['../classignite_1_1binary_1_1BinaryArrayReader.html#a088e0fc02b2d4909fe1ab49e4f62521e',1,'ignite::binary::BinaryArrayReader::IsNull()'],['../classignite_1_1binary_1_1BinaryCollectionReader.html#a7030978b9711e8f5dab63028558867e2',1,'ignite::binary::BinaryCollectionReader::IsNull()'],['../classignite_1_1binary_1_1BinaryMapReader.html#a74ac58c53a8bc524199fcc6fe479e7ef',1,'ignite::binary::BinaryMapReader::IsNull()'],['../structignite_1_1binary_1_1BinaryEnumIntMinNull.html#aa30c2ef446330641dccec82da8959dac',1,'ignite::binary::BinaryEnumIntMinNull::IsNull()'],['../structignite_1_1binary_1_1BinaryEnum_3_01T_01_5_01_4.html#a5b59c3242d574bb1024f878858f47ac4',1,'ignite::binary::BinaryEnum&lt; T * &gt;::IsNull()'],['../classignite_1_1binary_1_1BinaryEnumEntry.html#a1c6d52ed42e3e6fe023e4bf5de306f5b',1,'ignite::binary::BinaryEnumEntry::IsNull()'],['../structignite_1_1binary_1_1BinaryTypeNonNullableType.html#a0f73358c22c10ec3af4028a6d21217a5',1,'ignite::binary::BinaryTypeNonNullableType::IsNull()'],['../structignite_1_1binary_1_1BinaryType_3_01T_01_5_4.html#adf3622c741061c74d00fc20dbbcb2dfd',1,'ignite::binary::BinaryType&lt; T *&gt;::IsNull()'],['../classignite_1_1ConstReference.html#a07618541039afaf1967b6edb4344801e',1,'ignite::ConstReference::IsNull()'],['../classignite_1_1Reference.html#af4d19e07149bac2cec618ae41f5de900',1,'ignite::Reference::IsNull()']]],
  ['ispartitionawareness',['IsPartitionAwareness',['../classignite_1_1thin_1_1IgniteClientConfiguration.html#a645466ec426bb804250d3bc08eb24bc3',1,'ignite::thin::IgniteClientConfiguration']]],
  ['isready',['IsReady',['../classignite_1_1Future.html#abd7a19a568856867d220383751af553b',1,'ignite::Future::IsReady()'],['../classignite_1_1Future_3_01void_01_4.html#af83cc0bc375a9f42b588362743832f39',1,'ignite::Future&lt; void &gt;::IsReady()']]],
  ['isrollbackonly',['IsRollbackOnly',['../classignite_1_1transactions_1_1Transaction.html#a61be2250627d6e22e012c66b18434022',1,'ignite::transactions::Transaction::IsRollbackOnly()'],['../classignite_1_1transactions_1_1Transaction.html#a54999612f0b62afdee3b853610b5b418',1,'ignite::transactions::Transaction::IsRollbackOnly(IgniteError &amp;err)']]],
  ['isvalid',['IsValid',['../classignite_1_1cache_1_1Cache.html#a3de3efc2968613615e1e6fcc1ce7ac81',1,'ignite::cache::Cache::IsValid()'],['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQueryHandle.html#a90d2c6939d790a0b7d89775270b0e565',1,'ignite::cache::query::continuous::ContinuousQueryHandle::IsValid()'],['../classignite_1_1cache_1_1query_1_1QueryCursor.html#addab3ffd899c62ef04392db7de01a7a4',1,'ignite::cache::query::QueryCursor::IsValid()'],['../classignite_1_1cache_1_1query_1_1QueryFieldsCursor.html#aae58098f391268d7c50ad754a597959b',1,'ignite::cache::query::QueryFieldsCursor::IsValid()'],['../classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a974a5048171014ccc0052192a9d8f5d0',1,'ignite::cache::query::QueryFieldsRow::IsValid()'],['../classignite_1_1Ignite.html#a8fe4f75952821ee40af4e2e7facff60c',1,'ignite::Ignite::IsValid()'],['../classignite_1_1IgniteBinding.html#a36ce832f3a3151bf7b4e2bdaa9002107',1,'ignite::IgniteBinding::IsValid()'],['../classignite_1_1transactions_1_1Transaction.html#a6f96124829d7926fbf0e5f5e3b0d5da8',1,'ignite::transactions::Transaction::IsValid()'],['../classignite_1_1transactions_1_1TransactionMetrics.html#a48c5ed294b8f66f50c99f95953db5236',1,'ignite::transactions::TransactionMetrics::IsValid()']]]
];
