diff options
Diffstat (limited to 'brep/wrapper-traits')
-rw-r--r-- | brep/wrapper-traits | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/brep/wrapper-traits b/brep/wrapper-traits deleted file mode 100644 index 4be84b7..0000000 --- a/brep/wrapper-traits +++ /dev/null @@ -1,63 +0,0 @@ -// file : brep/wrapper-traits -*- C++ -*- -// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BREP_WRAPPER_TRAITS -#define BREP_WRAPPER_TRAITS - -#include <odb/pre.hxx> - -#include <butl/optional> - -#include <odb/wrapper-traits.hxx> - -namespace odb -{ - template <typename T> - class wrapper_traits<butl::optional<T>> - { - public: - typedef T wrapped_type; - typedef butl::optional<T> wrapper_type; - - // T can be const. - // - typedef - typename odb::details::meta::remove_const<T>::result - unrestricted_wrapped_type; - - static const bool null_handler = true; - static const bool null_default = true; - - static bool - get_null (const wrapper_type& o) - { - return !o; - } - - static void - set_null (wrapper_type& o) - { - o = wrapper_type (); - } - - static const wrapped_type& - get_ref (const wrapper_type& o) - { - return *o; - } - - static unrestricted_wrapped_type& - set_ref (wrapper_type& o) - { - if (!o) - o = unrestricted_wrapped_type (); - - return const_cast<unrestricted_wrapped_type&> (*o); - } - }; -} - -#include <odb/post.hxx> - -#endif // BREP_WRAPPER_TRAITS |