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 ],
        [ "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 ],
        [ "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_eviction_1_1_eviction_policy_base.html#aa0ccc9ab3f63d7ff3232c50831039af5",
"class_apache_1_1_ignite_1_1_core_1_1_discovery_1_1_tcp_1_1_tcp_discovery_spi.html#a92a936efe6377e02734da7e1e4eb78d5",
"class_apache_1_1_ignite_1_1_core_1_1_services_1_1_service_invocation_exception.html#a5f588b83a63e8829ab06d6268c692550",
"interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_raw_writer.html#a9aadad8701f126e274c2d67784765954",
"interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_i_cache_metrics.html#a68c368e70bd193c305c3244658daea94",
"interface_apache_1_1_ignite_1_1_core_1_1_data_structures_1_1_i_atomic_sequence.html#a916f2f08ea46009a6c2e4f7dbb6dba88",
"namespace_apache_1_1_ignite_1_1_core_1_1_services.html"
];

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