var searchData=
[
  ['scanquery',['ScanQuery',['../classignite_1_1cache_1_1query_1_1ScanQuery.html',1,'ignite::cache::query']]],
  ['scanquery',['ScanQuery',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#a5a55d6bee94c6493eaa28a80998bdeda',1,'ignite::cache::query::ScanQuery::ScanQuery()'],['../classignite_1_1cache_1_1query_1_1ScanQuery.html#a9ecccb5eb3666d47e9e303634409fc9d',1,'ignite::cache::query::ScanQuery::ScanQuery(int32_t part)']]],
  ['seterror',['SetError',['../classignite_1_1IgniteError.html#a2005fc5637ec51a40bb934c6c23368c7',1,'ignite::IgniteError']]],
  ['setlocal',['SetLocal',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#a353a5b9cedbe16411aa0341328126856',1,'ignite::cache::query::ScanQuery::SetLocal()'],['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a907b6e4a5c4ea7ca6f80a3b687091f22',1,'ignite::cache::query::SqlQuery::SetLocal()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#ac20c97dfefd05e690242a918022a5bbf',1,'ignite::cache::query::SqlFieldsQuery::SetLocal()'],['../classignite_1_1cache_1_1query_1_1TextQuery.html#a2d4e4aac39e4c1ea3ad1499b135b6012',1,'ignite::cache::query::TextQuery::SetLocal()']]],
  ['setpagesize',['SetPageSize',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#ad459033dcf311b1b25e46fb1dbb2b55e',1,'ignite::cache::query::ScanQuery::SetPageSize()'],['../classignite_1_1cache_1_1query_1_1SqlQuery.html#aadf500528211e00a43cf7b87c0d0051f',1,'ignite::cache::query::SqlQuery::SetPageSize()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#acd61be0cefd04d766a4418686eb49f4a',1,'ignite::cache::query::SqlFieldsQuery::SetPageSize()'],['../classignite_1_1cache_1_1query_1_1TextQuery.html#a1c385b1e320ec6a6387dea04d10f0f59',1,'ignite::cache::query::TextQuery::SetPageSize()']]],
  ['setpartition',['SetPartition',['../classignite_1_1cache_1_1query_1_1ScanQuery.html#a55fb7a45eb8520fd949c0f749dfa53ba',1,'ignite::cache::query::ScanQuery']]],
  ['setsql',['SetSql',['../classignite_1_1cache_1_1query_1_1SqlQuery.html#aa4e9e9a79ea5ddbf8c8c0aada68f3b6d',1,'ignite::cache::query::SqlQuery::SetSql()'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#a647110f3e40f812667f43db86d04dd81',1,'ignite::cache::query::SqlFieldsQuery::SetSql()']]],
  ['settext',['SetText',['../classignite_1_1cache_1_1query_1_1TextQuery.html#a89aae4e4a05f41976c103a461d953e0e',1,'ignite::cache::query::TextQuery']]],
  ['settype',['SetType',['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a5609ce4f4005383181bf24c0768a7846',1,'ignite::cache::query::SqlQuery::SetType()'],['../classignite_1_1cache_1_1query_1_1TextQuery.html#a5fb83c95ebefe5b14fdafb839d460538',1,'ignite::cache::query::TextQuery::SetType()']]],
  ['size',['Size',['../classignite_1_1cache_1_1Cache.html#a03574797da901a76180aad88476ef8ce',1,'ignite::cache::Cache::Size()'],['../classignite_1_1cache_1_1Cache.html#aeceeba2bacfa25940980144204457857',1,'ignite::cache::Cache::Size(IgniteError &amp;err)'],['../classignite_1_1cache_1_1Cache.html#ae2a4bc2ff23bb72bd6338d3003c8d9f7',1,'ignite::cache::Cache::Size(int32_t peekModes)'],['../classignite_1_1cache_1_1Cache.html#a601e93893fa8836baad3d10d3174fe13',1,'ignite::cache::Cache::Size(int32_t peekModes, IgniteError &amp;err)']]],
  ['springcfgpath',['springCfgPath',['../structignite_1_1IgniteConfiguration.html#afd23553f3a6f646741552e3d5e9d8283',1,'ignite::IgniteConfiguration']]],
  ['sqlfieldsquery',['SqlFieldsQuery',['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html',1,'ignite::cache::query']]],
  ['sqlfieldsquery',['SqlFieldsQuery',['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#aba1e988e00b3cacc3a0190f65801de24',1,'ignite::cache::query::SqlFieldsQuery::SqlFieldsQuery(const std::string &amp;sql)'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#ae236e1b1b11d99715c43ed6fcd818b0f',1,'ignite::cache::query::SqlFieldsQuery::SqlFieldsQuery(const std::string &amp;sql, bool loc)'],['../classignite_1_1cache_1_1query_1_1SqlFieldsQuery.html#ab1bdc1571644602a8455350db23ef492',1,'ignite::cache::query::SqlFieldsQuery::SqlFieldsQuery(const SqlFieldsQuery &amp;other)']]],
  ['sqlquery',['SqlQuery',['../classignite_1_1cache_1_1query_1_1SqlQuery.html#aaa012e38597bf19751ebfb44642d1eec',1,'ignite::cache::query::SqlQuery::SqlQuery(const std::string &amp;type, const std::string &amp;sql)'],['../classignite_1_1cache_1_1query_1_1SqlQuery.html#afd18d1a83311dc68fe37629846849bc1',1,'ignite::cache::query::SqlQuery::SqlQuery(const SqlQuery &amp;other)']]],
  ['sqlquery',['SqlQuery',['../classignite_1_1cache_1_1query_1_1SqlQuery.html',1,'ignite::cache::query']]],
  ['start',['Start',['../classignite_1_1Ignition.html#a93de29f22dcc6473a2a30a5998873c9d',1,'ignite::Ignition::Start(const IgniteConfiguration &amp;cfg)'],['../classignite_1_1Ignition.html#a499b25a66e21ce7a61c707973e67a584',1,'ignite::Ignition::Start(const IgniteConfiguration &amp;cfg, IgniteError *err)'],['../classignite_1_1Ignition.html#ae8ca57c68aba19ce0024b084171d2819',1,'ignite::Ignition::Start(const IgniteConfiguration &amp;cfg, const char *name)'],['../classignite_1_1Ignition.html#a9f90a63204ed152a12f533362f6e4ca1',1,'ignite::Ignition::Start(const IgniteConfiguration &amp;cfg, const char *name, IgniteError *err)']]],
  ['started',['started',['../namespaceignite.html#a340fa66fbb410168be7d201fd48d9515',1,'ignite']]],
  ['stop',['Stop',['../classignite_1_1Ignition.html#a09b5c98ddeb2f81a386930c59b504cbb',1,'ignite::Ignition::Stop(bool cancel)'],['../classignite_1_1Ignition.html#a567e5adfade28681aa76b3d9e0b47911',1,'ignite::Ignition::Stop(bool cancel, IgniteError *err)'],['../classignite_1_1Ignition.html#a392755938ed670e94271460610a793a8',1,'ignite::Ignition::Stop(const char *name, bool cancel)'],['../classignite_1_1Ignition.html#a123e2fbd09decb3354149f026c31d4a5',1,'ignite::Ignition::Stop(const char *name, bool cancel, IgniteError *err)']]],
  ['stopall',['StopAll',['../classignite_1_1Ignition.html#af80a005a35ce388063b7533523728804',1,'ignite::Ignition::StopAll(bool cancel)'],['../classignite_1_1Ignition.html#afc2db387782037386c5c2549f5e3c02c',1,'ignite::Ignition::StopAll(bool cancel, IgniteError *err)']]],
  ['swap',['Swap',['../classignite_1_1cache_1_1query_1_1SqlQuery.html#a5591e0ffb6e596985bc9fc575d838c89',1,'ignite::cache::query::SqlQuery']]]
];
