![JAR search and dependency download from the Maven repository](/logo.png)
org.kynthus.hatalib.argparse.syntax.OParserSyntax0.scala Maven / Gradle / Ivy
The newest version!
package org.kynthus.hatalib.argparse.syntax
import scopt.{OParser, OParserBuilder}
import scala.language.implicitConversions
/**
* scoptの([[scopt.OParserBuilder]])を生成するメソッド拡張用クラスの第1候補です。
*
* @author Kynthus Auoeau
* @since 1.0.0
* @version 1.0.0
*/
private[syntax] trait OParserSyntax0 extends Any {
/**
* パーサ構築用のメソッドを付与するクラスへの暗黙変換です。
*
* @param derived パーサのもととなる値
* @tparam Derived パーサのもととなる型
* @return パーサ構築用のメソッドを付与するクラスのインスタンス
* @author Kynthus Auoeau
* @since 1.0.0
* @version 1.0.0
*/
implicit final def OParserOps[Derived]
(derived: => Derived):
OParserSyntax0.OParserOps[Derived] =
OParserSyntax0.OParserOps(() => derived)
}
/**
* scoptの([[scopt.OParserBuilder]])を生成するメソッド拡張用クラスの第1候補を内部的に定義します。
*
* @author Kynthus Auoeau
* @since 1.0.0
* @version 1.0.0
*/
private object OParserSyntax0 extends AnyRef {
/**
* パーサ構築用のメソッドを付与するクラスです。
*
* @constructor パーサ構築用の拡張メソッド使用時に暗黙のうちに呼び出されます。
* @param derived パーサのもととなる値
* @tparam Derived パーサのもととなる型
* @author Kynthus Auoeau
* @since 1.0.0
* @version 1.0.0
*/
private[syntax] final case class OParserOps[Derived]
(derived: () => Derived) extends AnyRef {
/**
* パーサを構築します。
*
* @return 特定の型をもとにパーサを構築した結果
* @author Kynthus Auoeau
* @since 1.0.0
* @version 1.0.0
*/
def builder: OParserBuilder[Derived] = OParser.builder
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy