123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #ifndef BOOST_POLY_COLLECTION_EXCEPTION_HPP
- #define BOOST_POLY_COLLECTION_EXCEPTION_HPP
- #if defined(_MSC_VER)
- #pragma once
- #endif
- #include <stdexcept>
- #include <typeinfo>
- namespace boost{
- namespace poly_collection{
- struct unregistered_type:std::logic_error
- {
- unregistered_type(const std::type_info& info):
- std::logic_error{"type not registered"},
- pinfo{&info}
- {}
- const std::type_info* pinfo;
- };
- struct not_copy_constructible:std::logic_error
- {
- not_copy_constructible(const std::type_info& info):
- std::logic_error{"type is not copy constructible"},
- pinfo{&info}
- {}
- const std::type_info* pinfo;
- };
- struct not_equality_comparable:std::logic_error
- {
- not_equality_comparable(const std::type_info& info):
- std::logic_error{"type does not support equality comparison"},
- pinfo{&info}
- {}
- const std::type_info* pinfo;
- };
- }
- }
- #endif
|