6 * Use, modification and distribution are subject to the
7 * Boost Software License, Version 1.0. (See accompanying file
8 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
13 * LOCATION: see http://www.boost.org for most recent version.
14 * FILE basic_regex_creator.cpp
15 * VERSION see <boost/version.hpp>
16 * DESCRIPTION: Declares template class basic_regex_creator which fills in
17 * the data members of a regex_data object.
20 #ifndef BOOST_REGEX_V4_PROTECTED_CALL_HPP
21 #define BOOST_REGEX_V4_PROTECTED_CALL_HPP
23 #ifdef BOOST_HAS_ABI_HEADERS
24 # include BOOST_ABI_PREFIX
30 class BOOST_REGEX_DECL abstract_protected_call
33 bool BOOST_REGEX_CALL execute()const;
34 // this stops gcc-4 from complaining:
35 virtual ~abstract_protected_call(){}
37 virtual bool call()const = 0;
41 class concrete_protected_call
42 : public abstract_protected_call
45 typedef bool (T::*proc_type)();
46 concrete_protected_call(T* o, proc_type p)
49 virtual bool call()const;
55 bool concrete_protected_call<T>::call()const
57 return (obj->*proc)();
63 #ifdef BOOST_HAS_ABI_HEADERS
64 # include BOOST_ABI_SUFFIX