type_safe/0.2.4

Zero overhead utilities for preventing bugs at compile time
Recipe info
2024-04-23

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
type_safe/0.2.4

Using type_safe

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
type_safe/0.2.4
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("type_safe/0.2.4")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): type_safe
  • CMake target name(s): type_safe::type_safe
  • pkg-config file name(s): type_safe.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(type_safe REQUIRED)
# ...
target_link_libraries(YOUR_TARGET type_safe::type_safe)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the type_safe homepage listed above:

#include "type_safe/arithmetic_policy.hpp"
#include "type_safe/boolean.hpp"
#include "type_safe/bounded_type.hpp"
#include "type_safe/compact_optional.hpp"
#include "type_safe/config.hpp"
#include "type_safe/constrained_type.hpp"
#include "type_safe/deferred_construction.hpp"
#include "type_safe/detail/aligned_union.hpp"
#include "type_safe/detail/all_of.hpp"
#include "type_safe/detail/assert.hpp"
#include "type_safe/detail/assign_or_construct.hpp"
#include "type_safe/detail/constant_parser.hpp"
#include "type_safe/detail/copy_move_control.hpp"
#include "type_safe/detail/force_inline.hpp"
#include "type_safe/detail/is_nothrow_swappable.hpp"
#include "type_safe/detail/map_invoke.hpp"
#include "type_safe/detail/variant_impl.hpp"
#include "type_safe/downcast.hpp"
#include "type_safe/flag.hpp"
#include "type_safe/flag_set.hpp"
#include "type_safe/floating_point.hpp"
#include "type_safe/index.hpp"
#include "type_safe/integer.hpp"
#include "type_safe/narrow_cast.hpp"
#include "type_safe/optional.hpp"
#include "type_safe/optional_ref.hpp"
#include "type_safe/output_parameter.hpp"
#include "type_safe/reference.hpp"
#include "type_safe/strong_typedef.hpp"
#include "type_safe/tagged_union.hpp"
#include "type_safe/types.hpp"
#include "type_safe/variant.hpp"
#include "type_safe/visitor.hpp"