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", null ],
        [ "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_index.html#a7c826212758da9eb053f65bd8db86c87",
"class_apache_1_1_ignite_1_1_core_1_1_discovery_1_1_tcp_1_1_tcp_discovery_ip_finder_base.html#aac761120ac8d7d905a09ed5c887bb931",
"class_apache_1_1_ignite_1_1_core_1_1_ignition.html#a1ef478ec29c3f47f7168b89cc6430825",
"interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#a3b1852731716ebd809452f2975ff671b",
"interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_i_cache.html#a92253efacbc8c63059f2e292422a40b4",
"interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_node.html#a234dd26c9017310abfe145978edb2be5",
"interface_apache_1_1_ignite_1_1_core_1_1_services_1_1_i_services.html#a42f0507b85131e44ba2de4a1b569e041"
];

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