mirror of
https://github.com/boostorg/regex.git
synced 2025-07-06 00:56:30 +02:00
100 lines
2.4 KiB
C++
100 lines
2.4 KiB
C++
![]() |
/*
|
||
|
*
|
||
|
* Copyright (c) 2022
|
||
|
* John Maddock
|
||
|
*
|
||
|
* Use, modification and distribution are subject to the
|
||
|
* Boost Software License, Version 1.0. (See accompanying file
|
||
|
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifdef __GNUC__
|
||
|
//
|
||
|
// For some reason, GCC chokes unless all std lib includes appear
|
||
|
// before module imports:
|
||
|
//
|
||
|
#include <boost/concept_archetype.hpp>
|
||
|
#include <boost/concept_check.hpp>
|
||
|
#include <boost/type_traits/is_enum.hpp>
|
||
|
#include <boost/type_traits/is_base_and_derived.hpp>
|
||
|
#include <boost/static_assert.hpp>
|
||
|
#include <bitset>
|
||
|
#include <vector>
|
||
|
#include <ostream>
|
||
|
#endif
|
||
|
|
||
|
import boost.regex;
|
||
|
|
||
|
#define BOOST_REGEX_TEST_MODULE
|
||
|
|
||
|
#include <boost/regex/concepts.hpp>
|
||
|
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
boost::function_requires<
|
||
|
boost::RegexTraitsConcept<
|
||
|
boost::regex_traits<char>
|
||
|
>
|
||
|
>();
|
||
|
#ifndef BOOST_NO_STD_LOCALE
|
||
|
boost::function_requires<
|
||
|
boost::BoostRegexConcept<
|
||
|
boost::basic_regex<char, boost::cpp_regex_traits<char> >
|
||
|
>
|
||
|
>();
|
||
|
#ifndef BOOST_NO_WREGEX
|
||
|
boost::function_requires<
|
||
|
boost::BoostRegexConcept<
|
||
|
boost::basic_regex<wchar_t, boost::cpp_regex_traits<wchar_t> >
|
||
|
>
|
||
|
>();
|
||
|
#endif
|
||
|
#endif
|
||
|
boost::function_requires<
|
||
|
boost::BoostRegexConcept<
|
||
|
boost::basic_regex<char, boost::c_regex_traits<char> >
|
||
|
>
|
||
|
>();
|
||
|
#ifndef BOOST_NO_WREGEX
|
||
|
boost::function_requires<
|
||
|
boost::BoostRegexConcept<
|
||
|
boost::basic_regex<wchar_t, boost::c_regex_traits<wchar_t> >
|
||
|
>
|
||
|
>();
|
||
|
#endif
|
||
|
#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
|
||
|
boost::function_requires<
|
||
|
boost::BoostRegexConcept<
|
||
|
boost::basic_regex<char, boost::w32_regex_traits<char> >
|
||
|
>
|
||
|
>();
|
||
|
#ifndef BOOST_NO_WREGEX
|
||
|
boost::function_requires<
|
||
|
boost::BoostRegexConcept<
|
||
|
boost::basic_regex<wchar_t, boost::w32_regex_traits<wchar_t> >
|
||
|
>
|
||
|
>();
|
||
|
#endif
|
||
|
#endif
|
||
|
//
|
||
|
// now test the regex_traits concepts:
|
||
|
//
|
||
|
typedef boost::basic_regex<char, boost::regex_traits_architype<char> > regex_traits_tester_type1;
|
||
|
boost::function_requires<
|
||
|
boost::BoostRegexConcept<
|
||
|
regex_traits_tester_type1
|
||
|
>
|
||
|
>();
|
||
|
typedef boost::basic_regex<boost::char_architype, boost::regex_traits_architype<boost::char_architype> > regex_traits_tester_type2;
|
||
|
boost::function_requires<
|
||
|
boost::BaseRegexConcept<
|
||
|
regex_traits_tester_type2
|
||
|
>
|
||
|
>();
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
|