var searchData=
[
  ['cache',['Cache',['../classignite_1_1cache_1_1Cache.html#ad5028ce3aa42ed7f8c3e4304e7b5653b',1,'ignite::cache::Cache']]],
  ['cacheentry',['CacheEntry',['../classignite_1_1cache_1_1CacheEntry.html#a974bb547bc498b06202ceb3c7625119e',1,'ignite::cache::CacheEntry::CacheEntry()'],['../classignite_1_1cache_1_1CacheEntry.html#ac1652a2857db31b2d37b6b94aba0664c',1,'ignite::cache::CacheEntry::CacheEntry(const K &amp;key, const V &amp;val)'],['../classignite_1_1cache_1_1CacheEntry.html#ad84199e634b17e3d934c737f007c778f',1,'ignite::cache::CacheEntry::CacheEntry(const CacheEntry &amp;other)']]],
  ['clear',['Clear',['../classignite_1_1cache_1_1Cache.html#a32dff73e2749850adff3b8604a2b11b4',1,'ignite::cache::Cache::Clear()'],['../classignite_1_1cache_1_1Cache.html#a3c1b88838a8bb62d95eb6a9f2b3ca734',1,'ignite::cache::Cache::Clear(IgniteError &amp;err)'],['../classignite_1_1cache_1_1Cache.html#ac70e1d43fe5ea51cac26068feee04de1',1,'ignite::cache::Cache::Clear(const K &amp;key)'],['../classignite_1_1cache_1_1Cache.html#a111d93b727b494c0edcb6d3820c8b2a7',1,'ignite::cache::Cache::Clear(const K &amp;key, IgniteError &amp;err)']]],
  ['clearall',['ClearAll',['../classignite_1_1cache_1_1Cache.html#a75ad2c0ff97c08272a5d2e8e5ef3426f',1,'ignite::cache::Cache::ClearAll(const std::set&lt; K &gt; &amp;keys)'],['../classignite_1_1cache_1_1Cache.html#a2b9b9a2ddbe63804e3ae5ed08dd78d0e',1,'ignite::cache::Cache::ClearAll(const std::set&lt; K &gt; &amp;keys, IgniteError &amp;err)']]],
  ['close',['Close',['../classignite_1_1transactions_1_1Transaction.html#a9b274c90fd8256a90b8abf14565ea38c',1,'ignite::transactions::Transaction::Close()'],['../classignite_1_1transactions_1_1Transaction.html#af633d10c12d5ec27d7c97feade5754d0',1,'ignite::transactions::Transaction::Close(IgniteError &amp;err)'],['../classignite_1_1binary_1_1BinaryStringArrayWriter.html#af44101dd22a96409d14f4fb253f2c2e7',1,'ignite::binary::BinaryStringArrayWriter::Close()'],['../classignite_1_1binary_1_1BinaryArrayWriter.html#a47f09b6de2bd4d9d31b04fc389ad3946',1,'ignite::binary::BinaryArrayWriter::Close()'],['../classignite_1_1binary_1_1BinaryCollectionWriter.html#aaeba2731eee928480299a3310257d285',1,'ignite::binary::BinaryCollectionWriter::Close()'],['../classignite_1_1binary_1_1BinaryMapWriter.html#a887db8056137c600bfe09b89f372607c',1,'ignite::binary::BinaryMapWriter::Close()']]],
  ['commit',['Commit',['../classignite_1_1transactions_1_1Transaction.html#aa7536d728f02cfeb79266a1c1b111c37',1,'ignite::transactions::Transaction::Commit()'],['../classignite_1_1transactions_1_1Transaction.html#a6cbec407339fb78d1a50eaa165065206',1,'ignite::transactions::Transaction::Commit(IgniteError &amp;err)']]],
  ['containskey',['ContainsKey',['../classignite_1_1cache_1_1Cache.html#a50dc8bbe041c277eb2c8f546cd343167',1,'ignite::cache::Cache::ContainsKey(const K &amp;key)'],['../classignite_1_1cache_1_1Cache.html#afab73114323001dbb7edebbcf011be0d',1,'ignite::cache::Cache::ContainsKey(const K &amp;key, IgniteError &amp;err)']]],
  ['containskeys',['ContainsKeys',['../classignite_1_1cache_1_1Cache.html#a2059398f1e0dcb39daf0f437a99fb9be',1,'ignite::cache::Cache::ContainsKeys(const std::set&lt; K &gt; &amp;keys)'],['../classignite_1_1cache_1_1Cache.html#a6cdca32b50dba8b000e6dcb3ed6f893a',1,'ignite::cache::Cache::ContainsKeys(const std::set&lt; K &gt; &amp;keys, IgniteError &amp;err)']]],
  ['copy',['Copy',['../classignite_1_1cache_1_1query_1_1QueryArgumentBase.html#a09b1e64f13b915811f65b3492bcfc760',1,'ignite::cache::query::QueryArgumentBase::Copy()'],['../classignite_1_1cache_1_1query_1_1QueryArgument.html#a68921aed14da85c330867ade290f58c6',1,'ignite::cache::query::QueryArgument::Copy()']]],
  ['createcache',['CreateCache',['../classignite_1_1Ignite.html#a8f979e79ca480259d62654fe04d12e08',1,'ignite::Ignite::CreateCache(const char *name)'],['../classignite_1_1Ignite.html#a2d05a035b5b6170563b82084975f70fe',1,'ignite::Ignite::CreateCache(const char *name, IgniteError *err)']]],
  ['createjvmoptions',['CreateJvmOptions',['../namespaceignite.html#a91ac5d5677288c2dddb5adeca40f5fb9',1,'ignite']]]
];
