Sha256: f74cb9e483ac4f71fc09d1b7a8ef3bcef27b0f96eabfe98249f11018481b902e
Contents?: true
Size: 1.29 KB
Versions: 24
Compression:
Stored size: 1.29 KB
Contents
// Copyright (c) 2017-2020 Dr. Colin Hirsch and Daniel Frey // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/ #ifndef TAO_JSON_PEGTL_ARGV_INPUT_HPP #define TAO_JSON_PEGTL_ARGV_INPUT_HPP #include <cstddef> #include <sstream> #include <string> #include <utility> #include "config.hpp" #include "eol.hpp" #include "memory_input.hpp" #include "tracking_mode.hpp" namespace TAO_JSON_PEGTL_NAMESPACE { namespace internal { [[nodiscard]] inline std::string make_argv_source( const std::size_t argn ) { std::ostringstream os; os << "argv[" << argn << ']'; return os.str(); } } // namespace internal template< tracking_mode P = tracking_mode::eager, typename Eol = eol::lf_crlf > struct argv_input : memory_input< P, Eol > { template< typename T > argv_input( char** argv, const std::size_t argn, T&& in_source ) : memory_input< P, Eol >( static_cast< const char* >( argv[ argn ] ), std::forward< T >( in_source ) ) { } argv_input( char** argv, const std::size_t argn ) : argv_input( argv, argn, internal::make_argv_source( argn ) ) { } }; template< typename... Ts > argv_input( Ts&&... )->argv_input<>; } // namespace TAO_JSON_PEGTL_NAMESPACE #endif
Version data entries
24 entries across 24 versions & 1 rubygems