var NAVTREE =
[
  [ "Apache Ignite.NET", "index.html", [
    [ "Apache Ignite.NET In-Memory Data Fabric", "index.html", null ],
    [ "Packages", null, [
      [ "Packages", "namespaces.html", "namespaces" ],
      [ "Package Functions", "namespacemembers.html", [
        [ "All", "namespacemembers.html", null ],
        [ "Functions", "namespacemembers_func.html", null ],
        [ "Typedefs", "namespacemembers_type.html", null ],
        [ "Enumerations", "namespacemembers_enum.html", null ],
        [ "Enumerator", "namespacemembers_eval.html", null ]
      ] ]
    ] ],
    [ "Classes", null, [
      [ "Class List", "annotated.html", "annotated" ],
      [ "Class Index", "classes.html", null ],
      [ "Class Hierarchy", "hierarchy.html", "hierarchy" ],
      [ "Class Members", "functions.html", [
        [ "All", "functions.html", "functions_dup" ],
        [ "Functions", "functions_func.html", "functions_func" ],
        [ "Variables", "functions_vars.html", "functions_vars" ],
        [ "Enumerator", "functions_eval.html", null ],
        [ "Properties", "functions_prop.html", "functions_prop" ],
        [ "Events", "functions_evnt.html", null ]
      ] ]
    ] ]
  ] ]
];

var NAVTREEINDEX =
[
"annotated.html",
"class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_alias.html#aa5f42dfe88a594126df98fe0b7d57ed5",
"class_apache_1_1_ignite_1_1_core_1_1_configuration_1_1_sql_connector_configuration.html#a6a571f8952b700a376777eb4f4dd7c23",
"class_apache_1_1_ignite_1_1_core_1_1_ignite_configuration.html#a5a4125ed097f12200f5cf948d9157df7",
"functions_func_e.html",
"interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_writer.html#a5012768e7d2dcf37662ea61b7509dbde",
"interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster.html#a12a3a2e36d701a62f433b46dabe0c3ff",
"interface_apache_1_1_ignite_1_1_core_1_1_events_1_1_i_events.html#a3579fc226e445befeb1008b7c07efe44",
"namespace_apache_1_1_ignite_1_1_core_1_1_discovery.html"
];

var SYNCONMSG = 'click to disable panel synchronisation';
var SYNCOFFMSG = 'click to enable panel synchronisation';