From de91921561092689369b56c54950474e0a86e66f Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 15 Oct 2018 21:08:04 +0300 Subject: Add implementation --- openssl/types.hxx | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 openssl/types.hxx (limited to 'openssl/types.hxx') diff --git a/openssl/types.hxx b/openssl/types.hxx new file mode 100644 index 0000000..c574493 --- /dev/null +++ b/openssl/types.hxx @@ -0,0 +1,103 @@ +// file : openssl/types.hxx -*- C++ -*- +// copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef OPENSSL_TYPES_HXX +#define OPENSSL_TYPES_HXX + +#include +#include +#include // unique_ptr, shared_ptr +#include // size_t, nullptr_t +#include // uint{8,16,32,64}_t +#include +#include + +#include // ios_base::failure +#include // exception +#include // logic_error, invalid_argument, runtime_error +#include + +#include +#include +#include +#include +#include + +namespace openssl +{ + // Commonly-used types. + // + using std::uint8_t; + using std::uint16_t; + using std::uint32_t; + using std::uint64_t; + + using std::size_t; + using std::nullptr_t; + + using std::pair; + using std::string; + using std::function; + using std::reference_wrapper; + + using std::unique_ptr; + using std::shared_ptr; + using std::weak_ptr; + + using std::vector; + using butl::small_vector; // + + using strings = vector; + using cstrings = vector; + + using std::istream; + using std::ostream; + + // Exceptions. While is included, there is no using for + // std::exception -- use qualified. + // + using std::logic_error; + using std::invalid_argument; + using std::runtime_error; + using std::system_error; + using io_error = std::ios_base::failure; + + // + // + using butl::optional; + using butl::nullopt; + + // + // + using butl::path; + using butl::dir_path; + using butl::basic_path; + using butl::invalid_path; + + using butl::path_cast; + + // + // + using butl::auto_fd; + using butl::ifdstream; + using butl::ofdstream; + using butl::fdopen_mode; + using butl::fdstream_mode; + + // Simulation outcomes. + // + enum class simulate_outcome + { + success, + failure + }; + + string + to_string (simulate_outcome); + + simulate_outcome + to_simulate_outcome (const string&); // Throws invalid_argument. +} + +#endif // OPENSSL_TYPES_HXX -- cgit v1.1