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)']]],
  ['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#ac34061593b2169d3ccd45c0d70460898',1,'ignite::cache::query::SqlQuery::IsDistributedJoins()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#a8c074d38c2b0c943b9991e582899c495',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#a830f7f6185294c88e7b707807f64f5ed',1,'ignite::cache::query::SqlFieldsQuery']]],
  ['isexists',['IsExists',['../classignite_1_1cache_1_1MutableCacheEntry.html#a42ec02f14dea81d26a4409bee4fb1e1c',1,'ignite::cache::MutableCacheEntry']]],
  ['islazy',['IsLazy',['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#a2417b3c04ffdf3372c87b3e186718936',1,'ignite::cache::query::SqlFieldsQuery']]],
  ['islocal',['IsLocal',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#ac1e5cebfe3cf98d37fdc83e1a2573581',1,'ignite::cache::query::ScanQuery::IsLocal()'],['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a40cd1d0067d70c99c773deb335af146e',1,'ignite::cache::query::SqlQuery::IsLocal()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#a29031879dc9c0c8a4932f57a49da72ca',1,'ignite::cache::query::SqlFieldsQuery::IsLocal()'],['../classignite_1_1cache_1_1query_1_1TextQuery.html#a425521ae50da5b7630bb42d6fa494d25',1,'ignite::cache::query::TextQuery::IsLocal()']]],
  ['isnull',['IsNull',['../classignite_1_1binary_1_1BinaryStringArrayReader.html#a818305096924e677cebfc3c54691ddea',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_1BinaryType_3_01T_01_5_01_4.html#a5efa432412c12e6ec8f92e55c602f889',1,'ignite::binary::BinaryType&lt; T * &gt;::IsNull()'],['../classignite_1_1ConstReference.html#ab23dcbb1d85082d3e51f8e21cff45bff',1,'ignite::ConstReference::IsNull()'],['../classignite_1_1Reference.html#af843ca5cbc6dd3e9c46c3a1adb658b23',1,'ignite::Reference::IsNull()']]],
  ['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#a363578f939ce910975bb84f58e91904a',1,'ignite::cache::Cache::IsValid()'],['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQueryHandle.html#a1f101530098e045b98c196bea48cb0c9',1,'ignite::cache::query::continuous::ContinuousQueryHandle::IsValid()'],['../classignite_1_1cache_1_1query_1_1QueryCursor.html#a0b461b99bdb4ebd964f4ed014c6f15ba',1,'ignite::cache::query::QueryCursor::IsValid()'],['../classignite_1_1cache_1_1query_1_1QueryFieldsCursor.html#a7ac60271bdc8b29041666f349b22216a',1,'ignite::cache::query::QueryFieldsCursor::IsValid()'],['../classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a339527a6b64fa95593f12fecfdbc499d',1,'ignite::cache::query::QueryFieldsRow::IsValid()'],['../classignite_1_1Ignite.html#a21a987a6fdb740e2f06f63dd36cca91e',1,'ignite::Ignite::IsValid()'],['../classignite_1_1IgniteBinding.html#a2362697a9748dbf3411ac29e7e02b268',1,'ignite::IgniteBinding::IsValid()'],['../classignite_1_1transactions_1_1Transaction.html#a3dfc6c01686c07b97c160406acf54f0d',1,'ignite::transactions::Transaction::IsValid()'],['../classignite_1_1transactions_1_1TransactionMetrics.html#a5a8670808f009ae3267c06677846bd2b',1,'ignite::transactions::TransactionMetrics::IsValid()']]]
];
