Fix section links in reference docs. (#188)
diff --git a/doc/cpp-reference.md b/doc/cpp-reference.md index 7938587..d480d61 100644 --- a/doc/cpp-reference.md +++ b/doc/cpp-reference.md
@@ -173,7 +173,7 @@ ``` The `IntrinsicSizeInBytes` method is the [field method](#struct-field-methods) -for [`$size_in_bytes`](language-reference.md#size-in-bytes). The `Read` method +for [`$size_in_bytes`](language-reference.md#size_in_bytes). The `Read` method of the result returns the size of the `struct`, and the `Ok` method returns `true` if the `struct`'s intrinsic size is known; i.e.: @@ -212,7 +212,7 @@ ``` The `MaxSizeInBytes` method is the [field method](#struct-field-methods) -for [`$max_size_in_bytes`](language-reference.md#max-size-in-bytes). The `Read` +for [`$max_size_in_bytes`](language-reference.md#max_size_in_bytes). The `Read` method of the result returns the maximum size of the `struct`, and the `Ok` always method returns `true`. @@ -250,7 +250,7 @@ ``` The `MinSizeInBytes` method is the [field method](#struct-field-methods) -for [`$min_size_in_bytes`](language-reference.md#max-size-in-bytes). The `Read` +for [`$min_size_in_bytes`](language-reference.md#min_size_in_bytes). The `Read` method of the result returns the minimum size of the `struct`, and the `Ok` always method returns `true`. @@ -367,7 +367,7 @@ is a template parameter on the view. -### Field methods {#struct-field-methods} +### `struct` field methods Each physical field and virtual field in the `struct` will have a corresponding method in the generated view for that `struct`, which returns a subview of that @@ -635,7 +635,7 @@ ``` The `IntrinsicSizeInBits` method is the [field method](#bits-field-methods) for -[`$size_in_bits`](language-reference.md#size-in-bits). The `Read` method of +[`$size_in_bits`](language-reference.md#size_in_bits). The `Read` method of the result returns the size of the `struct`, and the `Ok` method returns `true` if the `struct`'s intrinsic size is known; i.e.: @@ -666,7 +666,7 @@ ``` The `MaxSizeInBits` method is the [field method](#struct-field-methods) -for [`$max_size_in_bits`](language-reference.md#max-size-in-bits). The `Read` +for [`$max_size_in_bits`](language-reference.md#max_size_in_bits). The `Read` method of the result returns the maximum size of the `bits`, and the `Ok` always method returns `true`. @@ -704,7 +704,7 @@ ``` The `MinSizeInBits` method is the [field method](#struct-field-methods) -for [`$min_size_in_bits`](language-reference.md#min-size-in-bits). The `Read` +for [`$min_size_in_bits`](language-reference.md#min_size_in_bits). The `Read` method of the result returns the minimum size of the `bits`, and the `Ok` always method returns `true`. @@ -773,7 +773,7 @@ would not call this directly; instead, use the global `WriteToString` method, which handles setting up the stream and returning the resulting string. -### Field methods {#bits-field-methods} +### `bits` field methods As with `struct`, each field in a `bits` will have a corresponding method of the same name generated, and each such method will return a view of the given field.
diff --git a/doc/language-reference.md b/doc/language-reference.md index d9e132a..db8682e 100644 --- a/doc/language-reference.md +++ b/doc/language-reference.md
@@ -651,7 +651,7 @@ ``` -##### `$size_in_bytes` {#size-in-bytes} +##### `$size_in_bytes` An Emboss `struct` has an *intrinsic* size, which is the size required to hold every field in the `struct`, regardless of how many bytes are in the buffer that @@ -702,7 +702,7 @@ ``` -##### `$max_size_in_bytes` {#max-size-in-bytes} +##### `$max_size_in_bytes` The `$max_size_in_bytes` virtual field is a constant value that is at least as large as the largest possible value for `$size_in_bytes`. In most cases, it @@ -720,7 +720,7 @@ ``` -##### `$min_size_in_bytes` {#min-size-in-bytes} +##### `$min_size_in_bytes` The `$min_size_in_bytes` virtual field is a constant value that is no larger than the smallest possible value for `$size_in_bytes`. In most cases, it will @@ -1004,7 +1004,7 @@ ``` -##### `$size_in_bits` {#size-in-bits} +##### `$size_in_bits` Like a `struct`, an Emboss `bits` has an *intrinsic* size, which is the size required to hold every field in the `bits`, regardless of how many bits are @@ -1029,14 +1029,14 @@ dynamic `$size_in_bits` fields. -##### `$max_size_in_bits` {#max-size-in-bits} +##### `$max_size_in_bits` Since `bits` must be fixed size, the `$max_size_in_bits` field has the same value as `$size_in_bits`. It is provided for consistency with `$max_size_in_bytes`. -##### `$min_size_in_bits` {#min-size-in-bits} +##### `$min_size_in_bits` Since `bits` must be fixed size, the `$min_size_in_bits` field has the same value as `$size_in_bits`. It is provided for consistency with @@ -1178,15 +1178,15 @@ binding): 1. `()` `$max()` `$present()` `$upper_bound()` `$lower_bound()` -2. unary `+` and `-` ([see note 1](#precedence-note-unary-plus-minus)) +2. unary `+` and `-` ([see note 1](#note-1-unary-plusminus-precedence)) 3. `*` 4. `+` `-` -5. `<` `>` `==` `!=` `>=` `<=` ([see note 2](#precedence-note-comparisons)) -6. `&&` `||` ([see note 3](#precedence-note-and-or)) -7. `?:` ([see note 4](#precedence-note-choice)) +5. `<` `>` `==` `!=` `>=` `<=` ([see note 2](#note-2-chained-and-mixed-comparisons)) +6. `&&` `||` ([see note 3](#note-3-logical-andor-precedence)) +7. `?:` ([see note 4](#note-4-choice-operator-precedence)) -###### Note 1 {#precedence-note-unary-plus-minus} +###### Note 1 (Unary Plus/Minus Precedence) Only one unary `+` or `-` may be applied to an expression without parentheses. These expressions are valid: @@ -1207,7 +1207,7 @@ ``` -###### Note 2 {#precedence-note-comparisons} +###### Note 2 (Chained and Mixed Comparisons) The relational operators may be chained like so: @@ -1240,7 +1240,7 @@ Greater-than comparisons may not be mixed with less-than comparisons. -###### Note 3 {#precedence-note-and-or} +###### Note 3 (Logical And/Or Precedence) The boolean logical operators have the same precedence, but may not be mixed without parentheses. The following are allowed: @@ -1260,7 +1260,7 @@ ``` -###### Note 4 {#precedence-note-choice} +###### Note 4 (Choice Operator Precedence) The choice operator `?:` may not be chained without parentheses. These are OK: