C ++ 11 이상의 사용하기, 구성, 헤더, 명령 줄 인수 구문 분석기.
| 얻다 | |
| 특허 | |
| 표준 | |
| 통계 | |
| 테스트 |
Boost 소프트웨어 라이센스, 버전 1.0에 따라 배포됩니다. (파일 라이센스와 함께 http://www.boost.org/license_1_0.txt에서 복사) 참조)
외부 종속성이없는 헤더 ( std 라이브러리 제외).
인터페이스를 한 번 정의하여 구문 분석, 전환 및 사용법을 중복성없이 유형하십시오.
식자. 각 opt 또는 arg 는 독립적 인 파서입니다. 이것들을 결합하여 복합 파서를 생성합니다 (여러 기능 호출의 단계에서 또는 프로젝트까지 수행 할 수 있습니다.
구문 분석은 구문 분석 결과를받을 변수에 직접 바인딩합니다.
또는 더 많은 사용자 정의 처리를 위해 파서를 Lambdas에 바인딩 할 수도 있습니다.
바운드 변수 또는 람다에서 유형을 추론하고 오류 처리와 함께 장면 뒤에서 유형 변환 ( ostream << )을 수행합니다.
다수의 값을 가질 수있는 Args의 벡터에 구문 분석기를 바인딩합니다.
예외가 아닌 오류 전파에 대한 결과 유형을 사용합니다 (예외는 아직 비활성화되지 않지만 나중에 나올 것입니다).
짧고 긴 선택 행동에 대한 POSIX 표준.
사용자 정의 가능한 옵션 구문.
arg -s의 카디널리티를 1에서 많은 것까지 지정하십시오.
옵션 값을 지정된 값 세트로 제한합니다.
탐지를위한 콜백이있는 재귀 인수 그룹. 이를 통해 쉽고 일반적인 하위 명령 사양이 가능합니다.
사용하려면 #include <lyra/lyra.hpp> 만 clude하십시오
단일 옵션을위한 파서는 다음과 같이 만들 수 있습니다.
int width = 0 ;
auto cli = lyra::cli()
| lyra::opt( width, " width " )
[ " -w " ][ " --width " ]
( " How wide should it be? " );이 파서는 다음과 같이 직접 사용할 수 있습니다.
auto result = cli.parse( { argc, argv } );
if ( !result )
{
std::cerr << " Error in command line: " << result. message () << std::endl;
exit ( 1 );
}
// Everything was ok, width will have a value if supplied on command line.예외는 오류 처리에 사용되지 않습니다.
| , 이와 같이:
int width = 0 ;
std::string name;
bool doIt = false ;
std::string command;
auto cli
= lyra::opt( width, " width " )
[ " -w " ][ " --width " ]
( " How wide should it be? " )
| lyra::opt( name, " name " )
[ " -n " ][ " --name " ]
( " By what name should I be known " )
| lyra::opt( doIt )
[ " -d " ][ " --doit " ]
( " Do the thing " )
| lyra::arg( command, " command " )
( " which command to run " ); opt 짧은 대시 ( - ) 또는 긴 대시 ( -- )로 시작하는 옵션을 지정합니다. 옵션은 인수가 취해질 수 있으며 (예 : -w 42 ),이 경우 opt 두 번째 인수 (힌트 또는 -d )입니다.이 경우 opt 단 하나의 인수가 있습니다. 옵션 이름은 하나 이상의 사각형 브래킷 세트로 제공되며 설명 문자열은 괄호 안에 제공 될 수 있습니다. opt 에 대한 첫 번째 인수는 std::ostream 사용하여 문자열에서 변환 할 수있는 모든 유형의 변수, 로컬, 글로벌 멤버입니다.
arg 옵션과 관련이없는 인수를 지정하므로 정사각형 브래킷 이름이 없습니다. 그렇지 않으면 opt 처럼 작동합니다.
파서를 스트림에 삽입하여 사용 문자열을 얻을 수 있습니다. 사용 문자열은 제공된 정보에서 구축되었습니다.
편의로 표준 도움말 옵션 ( -h , --help 및 -? )은 help 구문 분석을 사용하여 지정할 수 있으며, 결합하는 데 부울이 필요합니다.
소스 파일에서 생성되는 단일 헤더 버전이 있습니다. data/single_include/lyra/lyra.hpp 에서 찾을 수 있습니다. 그것에 대한 몇 가지 경고 :
라이브러리를 사용하는 것이 선호되는 방법이 아닙니다.
철저히 테스트되지 않았습니다.
컴파일러 탐색기와 같은 사용 사례를위한 것입니다. 즉각적인 실험을 허용하는 곳.
그것에 대한 지원은 우선 순위가 아닙니다.
따라서 프로젝트에서 정기적 인 멀티 파일 소스를 사용하는 것이 좋습니다.
자세한 내용과 문서는 웹 사이트를 참조하십시오.