1 //  Copyright (c) 2007-2016 Hartmut Kaiser
2 //  Copyright (c) 2011      Bryce Lelbach
3 //
4 //  Distributed under the Boost Software License, Version 1.0. (See accompanying
5 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 
7 #ifndef HPX_RUNTIME_NAMING_FWD_HPP
8 #define HPX_RUNTIME_NAMING_FWD_HPP
9 
10 #include <hpx/config.hpp>
11 #include <hpx/runtime/agas_fwd.hpp>
12 
13 #include <cstdint>
14 
15 namespace hpx
16 {
17     /// \namespace naming
18     ///
19     /// The namespace \a naming contains all definitions needed for the AGAS
20     /// (Active Global Address Space) service.
21     namespace naming
22     {
23         typedef agas::addressing_service resolver_client;
24 
25         struct HPX_EXPORT gid_type;
26         struct HPX_EXPORT id_type;
27         struct HPX_API_EXPORT address;
28 
29         HPX_API_EXPORT resolver_client& get_agas_client();
30 
31         typedef std::int32_t component_type;
32         typedef std::uint64_t address_type;
33 
34         HPX_CONSTEXPR_OR_CONST std::uint32_t invalid_locality_id = ~0U;
35     }
36 
37     ///////////////////////////////////////////////////////////////////////////
38     // Pulling important types into the main namespace
39     using naming::id_type;
40 }
41 
42 #endif
43