• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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