var searchData=
[
  ['get',['Get',['../classignite_1_1cache_1_1Cache.html#a5ca8ec1f2d66762816de72b57c5cbdb0',1,'ignite::cache::Cache::Get(const K &amp;key)'],['../classignite_1_1cache_1_1Cache.html#a54bf114b9d8b45f2588659b217ffd9d9',1,'ignite::cache::Cache::Get(const K &amp;key, IgniteError &amp;err)'],['../classignite_1_1Ignition.html#a315203f10279abb51fded37725cfff5a',1,'ignite::Ignition::Get()'],['../classignite_1_1Ignition.html#aae23c36ca95cd72fc8fa5d919fa0ed53',1,'ignite::Ignition::Get(IgniteError *err)'],['../classignite_1_1Ignition.html#a8ec6c684d7873ba735f098932ff89e73',1,'ignite::Ignition::Get(const char *name)'],['../classignite_1_1Ignition.html#ae8dc19107148227d8d2b5701b3fff753',1,'ignite::Ignition::Get(const char *name, IgniteError *err)'],['../classignite_1_1ConstReference.html#aa0051f8475eaedc1361bb84e836ab3eb',1,'ignite::ConstReference::Get()'],['../classignite_1_1Reference.html#a04e28f52ce1ac23796db0a15fe26eeb2',1,'ignite::Reference::Get() const '],['../classignite_1_1Reference.html#a08437e9ff18d4f877f77549c11fa0d23',1,'ignite::Reference::Get()']]],
  ['getall',['GetAll',['../classignite_1_1cache_1_1Cache.html#aba088938308bb2a01233a55cfd8ef546',1,'ignite::cache::Cache::GetAll(const std::set&lt; K &gt; &amp;keys)'],['../classignite_1_1cache_1_1Cache.html#ac341a3ac21b498e0a393851b1a0844c9',1,'ignite::cache::Cache::GetAll(const std::set&lt; K &gt; &amp;keys, IgniteError &amp;err)'],['../classignite_1_1cache_1_1query_1_1QueryCursor.html#ae9ddd4b5f19be9c465cac942244187ca',1,'ignite::cache::query::QueryCursor::GetAll(std::vector&lt; CacheEntry&lt; K, V &gt; &gt; &amp;res)'],['../classignite_1_1cache_1_1query_1_1QueryCursor.html#adffa4b2a7034b8ea5307487bf91104b9',1,'ignite::cache::query::QueryCursor::GetAll(std::vector&lt; CacheEntry&lt; K, V &gt; &gt; &amp;res, IgniteError &amp;err)']]],
  ['getandput',['GetAndPut',['../classignite_1_1cache_1_1Cache.html#af7b537114aa4c59439d56c1ce33f707c',1,'ignite::cache::Cache::GetAndPut(const K &amp;key, const V &amp;val)'],['../classignite_1_1cache_1_1Cache.html#acc4c1512f82c0dee61e39834edc2aae3',1,'ignite::cache::Cache::GetAndPut(const K &amp;key, const V &amp;val, IgniteError &amp;err)']]],
  ['getandputifabsent',['GetAndPutIfAbsent',['../classignite_1_1cache_1_1Cache.html#a48ae216436a9ea4c84f7a0b05d21af25',1,'ignite::cache::Cache::GetAndPutIfAbsent(const K &amp;key, const V &amp;val)'],['../classignite_1_1cache_1_1Cache.html#ab70b4492873790a2fe44d33b177a397e',1,'ignite::cache::Cache::GetAndPutIfAbsent(const K &amp;key, const V &amp;val, IgniteError &amp;err)']]],
  ['getandremove',['GetAndRemove',['../classignite_1_1cache_1_1Cache.html#aff04aec634d377836ae597e6e1f34e9b',1,'ignite::cache::Cache::GetAndRemove(const K &amp;key)'],['../classignite_1_1cache_1_1Cache.html#af3ed66837afc1e20a93faa0500522ba2',1,'ignite::cache::Cache::GetAndRemove(const K &amp;key, IgniteError &amp;err)']]],
  ['getandreplace',['GetAndReplace',['../classignite_1_1cache_1_1Cache.html#a248126e1b19e58616e0b82915b41b71b',1,'ignite::cache::Cache::GetAndReplace(const K &amp;key, const V &amp;val)'],['../classignite_1_1cache_1_1Cache.html#a70362d6d3e9ec212d8bbfe3b33049b58',1,'ignite::cache::Cache::GetAndReplace(const K &amp;key, const V &amp;val, IgniteError &amp;err)']]],
  ['getbinarystringhashcode',['GetBinaryStringHashCode',['../namespaceignite_1_1binary.html#ac93fb79680cc0baff9d1d6bd6e44139a',1,'ignite::binary']]],
  ['getbuffersize',['GetBufferSize',['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQuery.html#ac5ad35a200d405b48f6a52548539dc42',1,'ignite::cache::query::continuous::ContinuousQuery']]],
  ['getcache',['GetCache',['../classignite_1_1Ignite.html#a228adab59e935565341e1f59e6105fc2',1,'ignite::Ignite::GetCache(const char *name)'],['../classignite_1_1Ignite.html#a86d25a2ea7abe9ccbfa4c0b6e537249d',1,'ignite::Ignite::GetCache(const char *name, IgniteError *err)']]],
  ['getcode',['GetCode',['../classignite_1_1IgniteError.html#a6fe8a1686cbdcc65ca433236a7251919',1,'ignite::IgniteError']]],
  ['getcommits',['GetCommits',['../classignite_1_1transactions_1_1TransactionMetrics.html#ae91ebce710cf921fffae5c6960173374',1,'ignite::transactions::TransactionMetrics']]],
  ['getcommittime',['GetCommitTime',['../classignite_1_1transactions_1_1TransactionMetrics.html#a68657c708c617e8d4c161c0b9639f7a9',1,'ignite::transactions::TransactionMetrics']]],
  ['getconcurrency',['GetConcurrency',['../classignite_1_1transactions_1_1Transaction.html#ad41e1e5ef9eadbdce8f51aadf09b109e',1,'ignite::transactions::Transaction']]],
  ['getdate',['GetDate',['../classignite_1_1Timestamp.html#a71079bc11025edca6dd23b43505b3801',1,'ignite::Timestamp']]],
  ['getfieldid',['GetFieldId',['../structignite_1_1binary_1_1BinaryType.html#a8791a22e42db8a51985c9136b3c2038a',1,'ignite::binary::BinaryType']]],
  ['gethashcode',['GetHashCode',['../classignite_1_1binary_1_1BinaryArrayIdentityResolver.html#a06272497ce82ff2ce99206f4074b806c',1,'ignite::binary::BinaryArrayIdentityResolver::GetHashCode()'],['../classignite_1_1binary_1_1BinaryIdentityResolver.html#ac335d822ba1ff5b3e1950b67c76ee0da',1,'ignite::binary::BinaryIdentityResolver::GetHashCode()'],['../classignite_1_1Guid.html#aa24b26d77fc657939facae07c2533021',1,'ignite::Guid::GetHashCode()']]],
  ['getinitialquerycursor',['GetInitialQueryCursor',['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQueryHandle.html#a3b28318681cb8c395c671f9d7ce8c435',1,'ignite::cache::query::continuous::ContinuousQueryHandle::GetInitialQueryCursor()'],['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQueryHandle.html#ae9b97cec86a70afdbd7151f8997c3760',1,'ignite::cache::query::continuous::ContinuousQueryHandle::GetInitialQueryCursor(IgniteError &amp;err)']]],
  ['getisolation',['GetIsolation',['../classignite_1_1transactions_1_1Transaction.html#a6160cbc7effd76eda5f8f89e32b148ac',1,'ignite::transactions::Transaction']]],
  ['getkey',['GetKey',['../classignite_1_1cache_1_1CacheEntry.html#a53a9461019b697ce4bab732221827a5d',1,'ignite::cache::CacheEntry']]],
  ['getleastsignificantbits',['GetLeastSignificantBits',['../classignite_1_1Guid.html#a6b5e11e864ff91e0e0bc080102fc69be',1,'ignite::Guid']]],
  ['getlistener',['GetListener',['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQuery.html#a40173ff8ccd51405ad652123f17302ef',1,'ignite::cache::query::continuous::ContinuousQuery::GetListener() const '],['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQuery.html#acd0367fd5ed691d9b19f19fddc04a762',1,'ignite::cache::query::continuous::ContinuousQuery::GetListener()']]],
  ['getlocal',['GetLocal',['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQuery.html#af282b8ecaf12576bcd2950da48a2ff71',1,'ignite::cache::query::continuous::ContinuousQuery']]],
  ['getmetrics',['GetMetrics',['../classignite_1_1transactions_1_1Transactions.html#a4681b8929dda5227b31e2935c5094144',1,'ignite::transactions::Transactions::GetMetrics()'],['../classignite_1_1transactions_1_1Transactions.html#a449f6900c797de1f2b1d771a12c00ac9',1,'ignite::transactions::Transactions::GetMetrics(IgniteError &amp;err)']]],
  ['getmilliseconds',['GetMilliseconds',['../classignite_1_1Date.html#af5a9b67048e6283eb76a983dd515116d',1,'ignite::Date::GetMilliseconds()'],['../classignite_1_1Timestamp.html#a31f498f68eb6c63ad68bdd53238d1a68',1,'ignite::Timestamp::GetMilliseconds()']]],
  ['getmostsignificantbits',['GetMostSignificantBits',['../classignite_1_1Guid.html#ac20efb03df4c4482fe1aba7f8de1b120',1,'ignite::Guid']]],
  ['getname',['GetName',['../classignite_1_1cache_1_1Cache.html#a1edd752b6d7b94c716504c91d3f4553b',1,'ignite::cache::Cache::GetName()'],['../classignite_1_1Ignite.html#acc8312cdb2817e21a74206984ba35424',1,'ignite::Ignite::GetName()']]],
  ['getnext',['GetNext',['../classignite_1_1cache_1_1query_1_1QueryCursor.html#ab4e4f4e30437d379551aa8c652a99adf',1,'ignite::cache::query::QueryCursor::GetNext()'],['../classignite_1_1cache_1_1query_1_1QueryCursor.html#aac93dee2ff95426ac8e5573685181589',1,'ignite::cache::query::QueryCursor::GetNext(IgniteError &amp;err)'],['../classignite_1_1cache_1_1query_1_1QueryFieldsCursor.html#ab19d521591e6aed8ec691373242ccd9a',1,'ignite::cache::query::QueryFieldsCursor::GetNext()'],['../classignite_1_1cache_1_1query_1_1QueryFieldsCursor.html#aae0d0cd8d58dc09cc608c77b343c7192',1,'ignite::cache::query::QueryFieldsCursor::GetNext(IgniteError &amp;err)'],['../classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a2e3ffb81042cdb721d4e85225ab772f4',1,'ignite::cache::query::QueryFieldsRow::GetNext()'],['../classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a10fdd0db03a0696e4ffc35dce09c5916',1,'ignite::cache::query::QueryFieldsRow::GetNext(IgniteError &amp;err)'],['../classignite_1_1binary_1_1BinaryStringArrayReader.html#aa7942d4943a9bb271aa3ec80c1eeb1a1',1,'ignite::binary::BinaryStringArrayReader::GetNext(char *res, int32_t len)'],['../classignite_1_1binary_1_1BinaryStringArrayReader.html#a34ca73f7bf8b554ba6c7aae380bdeebe',1,'ignite::binary::BinaryStringArrayReader::GetNext()'],['../classignite_1_1binary_1_1BinaryArrayReader.html#a7fb0a08bb8162b612ecc1c40e59af222',1,'ignite::binary::BinaryArrayReader::GetNext()'],['../classignite_1_1binary_1_1BinaryCollectionReader.html#a934ac1c5a28bee74c02a360abb736b19',1,'ignite::binary::BinaryCollectionReader::GetNext()'],['../classignite_1_1binary_1_1BinaryMapReader.html#ae3d3730080a6c384ee53ac09f940dea0',1,'ignite::binary::BinaryMapReader::GetNext()']]],
  ['getnull',['GetNull',['../structignite_1_1binary_1_1BinaryType.html#aa634b16d608c65a4a4ebf9d47c801b75',1,'ignite::binary::BinaryType']]],
  ['getoldvalue',['GetOldValue',['../classignite_1_1cache_1_1CacheEntryEvent.html#a6715c063b701521608db330eff7eeb6f',1,'ignite::cache::CacheEntryEvent']]],
  ['getorcreatecache',['GetOrCreateCache',['../classignite_1_1Ignite.html#ac066d021e231265dfb6cce35a5d8cde6',1,'ignite::Ignite::GetOrCreateCache(const char *name)'],['../classignite_1_1Ignite.html#af3a6cda40d6add71d5e451c2f3d7bd75',1,'ignite::Ignite::GetOrCreateCache(const char *name, IgniteError *err)']]],
  ['getpagesize',['GetPageSize',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#a6e777fabd34bf805dd203863b75a4370',1,'ignite::cache::query::ScanQuery::GetPageSize()'],['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a00149b4a5a51a9ecd9914eb6608507dd',1,'ignite::cache::query::SqlQuery::GetPageSize()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#adcb7ef62dde99cb6f91cb508adafba1d',1,'ignite::cache::query::SqlFieldsQuery::GetPageSize()'],['../classignite_1_1cache_1_1query_1_1TextQuery.html#ac99aa22b5e950e1a8a09db52104dd250',1,'ignite::cache::query::TextQuery::GetPageSize()']]],
  ['getpartition',['GetPartition',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#a4ce9e9913798c9667c56789be38ae072',1,'ignite::cache::query::ScanQuery']]],
  ['getrollbacks',['GetRollbacks',['../classignite_1_1transactions_1_1TransactionMetrics.html#a5a2d2859123818db0afc957519177717',1,'ignite::transactions::TransactionMetrics']]],
  ['getrollbacktime',['GetRollbackTime',['../classignite_1_1transactions_1_1TransactionMetrics.html#af491f4b4e25a91f6ba5c288213625a72',1,'ignite::transactions::TransactionMetrics']]],
  ['getsecondfraction',['GetSecondFraction',['../classignite_1_1Timestamp.html#aa39a3afcc36f397709bb667524566c31',1,'ignite::Timestamp']]],
  ['getseconds',['GetSeconds',['../classignite_1_1Date.html#abb6cd134d1ccd5ba1a901e2d989829bb',1,'ignite::Date::GetSeconds()'],['../classignite_1_1Timestamp.html#a07e4a08c5c3fa2d68d17e3a40daa892a',1,'ignite::Timestamp::GetSeconds()']]],
  ['getsize',['GetSize',['../classignite_1_1binary_1_1BinaryStringArrayReader.html#a64dbd0a9da707322536dd7d0dcf2fe79',1,'ignite::binary::BinaryStringArrayReader::GetSize()'],['../classignite_1_1binary_1_1BinaryArrayReader.html#a372fd3a24cee84d85c51f88edd7c3c44',1,'ignite::binary::BinaryArrayReader::GetSize()'],['../classignite_1_1binary_1_1BinaryCollectionReader.html#a629e12f4aa308243c57fe4a4563d84b1',1,'ignite::binary::BinaryCollectionReader::GetSize()'],['../classignite_1_1binary_1_1BinaryMapReader.html#a69edda88dcef3c1459591f725d0e1c3e',1,'ignite::binary::BinaryMapReader::GetSize()']]],
  ['getsql',['GetSql',['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a6e71945c77c452409df15162414a5c58',1,'ignite::cache::query::SqlQuery::GetSql()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#af60d3f27562361d776042bd5228e7b6f',1,'ignite::cache::query::SqlFieldsQuery::GetSql()']]],
  ['getstate',['GetState',['../classignite_1_1transactions_1_1Transaction.html#afd6f8e33ef46ce16b027fa615ae4ea12',1,'ignite::transactions::Transaction::GetState()'],['../classignite_1_1transactions_1_1Transaction.html#a982ebaba3fb1546de605cf13822b9fae',1,'ignite::transactions::Transaction::GetState(IgniteError &amp;err)']]],
  ['gettext',['GetText',['../classignite_1_1cache_1_1query_1_1TextQuery.html#a661d889d8e4894268038331bb6ffbe32',1,'ignite::cache::query::TextQuery::GetText()'],['../classignite_1_1IgniteError.html#abdb832f2a2daec3fe64759d5c64a1323',1,'ignite::IgniteError::GetText()']]],
  ['gettimeinterval',['GetTimeInterval',['../classignite_1_1cache_1_1query_1_1continuous_1_1ContinuousQuery.html#a37d1bd41cb17c2d9ac9f448c7c09abc8',1,'ignite::cache::query::continuous::ContinuousQuery']]],
  ['gettimeout',['GetTimeout',['../classignite_1_1transactions_1_1Transaction.html#a3a296aed9f486d1c46fd08f2be8d4c23',1,'ignite::transactions::Transaction']]],
  ['gettransactions',['GetTransactions',['../classignite_1_1Ignite.html#a3689391946e2196ca06ae9672c548711',1,'ignite::Ignite']]],
  ['gettx',['GetTx',['../classignite_1_1transactions_1_1Transactions.html#abe2520191cbde531706aa03e9cee821e',1,'ignite::transactions::Transactions']]],
  ['gettype',['GetType',['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a3f4ebe6458b881817a9836bf3dcde00b',1,'ignite::cache::query::SqlQuery::GetType()'],['../classignite_1_1cache_1_1query_1_1TextQuery.html#a02a2d3ebfa88de8a3889908e6f2a0635',1,'ignite::cache::query::TextQuery::GetType()'],['../classignite_1_1binary_1_1BinaryCollectionReader.html#a62bcdfc9486da779b2933cd1a2f7683f',1,'ignite::binary::BinaryCollectionReader::GetType()'],['../classignite_1_1binary_1_1BinaryMapReader.html#a6d3fc19a160de9e769247e9733418bd5',1,'ignite::binary::BinaryMapReader::GetType()']]],
  ['gettypeid',['GetTypeId',['../structignite_1_1binary_1_1BinaryType.html#a9adba0642d6898d48063e7aa28c6a503',1,'ignite::binary::BinaryType']]],
  ['gettypename',['GetTypeName',['../structignite_1_1binary_1_1BinaryType.html#aad2c7e8b3025910f0a1d9fde247587bc',1,'ignite::binary::BinaryType']]],
  ['getvalue',['GetValue',['../classignite_1_1cache_1_1CacheEntry.html#a505219e69f41d3a1f58c91446f351024',1,'ignite::cache::CacheEntry']]],
  ['getvariant',['GetVariant',['../classignite_1_1Guid.html#aeefaab182bc7497fcbd12c99b9c713c0',1,'ignite::Guid']]],
  ['getversion',['GetVersion',['../classignite_1_1Guid.html#aafd300dd94879382bc14e63ab3f93c2d',1,'ignite::Guid']]],
  ['guid',['Guid',['../classignite_1_1Guid.html#a8297b342179e9e927a6bf572766ecf47',1,'ignite::Guid::Guid()'],['../classignite_1_1Guid.html#a0777ff24fcde6ec6204aea56309e532c',1,'ignite::Guid::Guid(int64_t most, int64_t least)']]]
];
