1 // Copyright 2014 Renato Tegon Forti, Antony Polukhin. 2 // Copyright 2015-2019 Antony Polukhin. 3 // 4 // Distributed under the Boost Software License, Version 1.0. 5 // (See accompanying file LICENSE_1_0.txt 6 // or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8 #ifndef BOOST_DLL_DETAIL_X_INFO_INTERFACE_HPP 9 #define BOOST_DLL_DETAIL_X_INFO_INTERFACE_HPP 10 11 #include <boost/dll/config.hpp> 12 #ifdef BOOST_HAS_PRAGMA_ONCE 13 # pragma once 14 #endif 15 16 #include <string> 17 #include <vector> 18 19 namespace boost { namespace dll { namespace detail { 20 21 class x_info_interface { 22 public: 23 virtual std::vector<std::string> sections() = 0; 24 virtual std::vector<std::string> symbols() = 0; 25 virtual std::vector<std::string> symbols(const char* section_name) = 0; 26 ~x_info_interface()27 virtual ~x_info_interface() BOOST_NOEXCEPT {} 28 }; 29 30 }}} // namespace boost::dll::detail 31 32 #endif // BOOST_DLL_DETAIL_X_INFO_INTERFACE_HPP 33