1[[bbv2.reference.class.typed-target]] 2= Class typed-target 3 4[source,jam] 5---- 6class typed-target : basic-target { 7 rule __init__ ( name : project : type : sources * : requirements * : default-build * : usage-requirements * ) 8 rule type ( ) 9 rule construct ( name : source-targets * : property-set ) 10 11 # Methods inherited from abstract-target 12 rule name ( ) 13 rule project ( ) 14 rule location ( ) 15 rule full-name ( ) 16 17 # Methods inherited from basic-target 18 rule generate ( property-set ) 19 } 20---- 21 22link:#bbv2.reference.class.typed-target[typed-target] is the most common 23kind of target alternative. Rules for creating typed targets are defined 24automatically for each type. 25 26-- 271. `rule __init__ ( name : project : type : sources * : requirements * : default-build * : usage-requirements * )` 28+ 29`name`:: 30 The name of the target 31`project`:: 32 The link:#bbv2.reference.class.project-target[project] in which the 33 target is declared. 34`type`:: 35 The link:#bbv2.reference.modules.type[type] of the target. 36 372. `rule type ( )` 38+ 39Returns the link:#bbv2.reference.modules.type[type] of the target. 40 413. `rule construct ( name : source-targets * : property-set )` 42+ 43Implements 44link:#bbv2.reference.class.basic-target.construct[basic-target.construct]. 45Attempts to create a target of the correct type using generators 46appropriate for the given 47link:#bbv2.reference.class.property-set[property-set]. Returns a 48link:#bbv2.reference.class.property-set[property-set] containing the 49usage requirements and a list of virtual targets. 50+ 51NOTE: This function is invoked automatically by 52link:#bbv2.reference.class.basic-target.generate[basic-target.generate] 53and should not be called directly by users. 54-- 55