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 ]
      ] ]
    ] ],
    [ "Classes", "annotated.html", [
      [ "Class List", "annotated.html", "annotated_dup" ],
      [ "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" ],
        [ "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_f.html",
"interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_writer.html#a507d207e45652170b7c3fe86f85b786b",
"interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster.html#a1f08466b3cfbd01dea14afd30429873a",
"interface_apache_1_1_ignite_1_1_core_1_1_events_1_1_i_events.html#a367cc226b228eebd11c4eb5b79f240b1",
"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';