3.1. Proximie common types

The Proximie namespace contains some fundamental types used throughout the SDK, as well as being the container for further namespaces for the various SDK features. See the main SDK reference for the feature namespaces.

Commonly used and fundamental types are defined in a Proximie::PxTypes namespace, but these are also exported to the top-level Proximie namespace for convenience.

namespace PxTypes

Typedefs

using string_view = boost::string_view
using error_code = boost::system::error_code
using error_condition = boost::system::error_condition
template<typename T>
using shared_not_null = gsl::not_null<std::shared_ptr<T>>
template<typename T>
using KeyMap = std::map<std::string, T, std::less<>>
template<typename T>
using KeySharedMap = KeyMap<std::shared_ptr<T>>
template<typename T>
using KeyNotNullMap = KeyMap<shared_not_null<T>>
template<typename T>
using FutureOutcome = std::future<outcome::result<T>>
template<typename T>
using PromiseOutcome = std::promise<outcome::result<T>>
template<typename T>
using SharedOutcome = outcome::result<std::shared_ptr<T>>
template<typename T>
using NotNullOutcome = outcome::result<shared_not_null<T>>
using json_object = boost::json::object
using json_value = boost::json::value